/**
 * @author
 * @date 2015年12月19日 上午11:36:16
 * @version V1.0
 */
package com.hc.service.dao;

import com.hc.comm.mapper.Mapper;
import com.hc.service.model.AppMonitorModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * app性能监控表的mapper
 *
 * @author
 * @date 2015年12月19日 上午11:36:16
 */
public interface AppMonitorMapper extends Mapper<AppMonitorModel> {
    /**
     * 页面加载时间分段统计
     *
     * @param currentName
     * @param startTime
     * @param endTime
     * @return
     */
    int getLoadTimeCount(@Param("currentName") String currentName,
                         @Param("startTime") String startTime,
                         @Param("endTime") String endTime,
                         @Param("platform") String platform,
                         @Param("startData") String startData,
                         @Param("endData") String endData);


    /**
     * 页面停留时间分段统计
     *
     * @param currentName
     * @param startTime
     * @param endTime
     * @return
     */
    int getStayTimeCount(@Param("currentName") String currentName,
                         @Param("startTime") String startTime,
                         @Param("endTime") String endTime,
                         @Param("platform") String platform,
                         @Param("startData") String startData,
                         @Param("endData") String endData);

    /**
     * 获取url访问次数
     *
     * @return
     */
    List getAllUrlNum(@Param("pageStart") Integer pageStart, @Param("pageEnd") Integer pageEnd,
                      @Param("platform") String platform);

    /**
     * 按条件查找某个接口的访问次数
     *
     * @param netUrl
     * @param netState
     * @param yjdUrlstate
     * @param startTime
     * @param endTime
     * @return
     */
    List getUrlState(@Param("netUrl") String netUrl, @Param("netState") Integer netState,
                     @Param("yjdUrlstate") String yjdUrlstate,
                     @Param("startTime") String startTime, @Param("endTime") String endTime,
                     @Param("reqStartTime") String reqStartTime, @Param("reqEndTime") String reqEndTime,
                     @Param("platform") String platform);

    /**
     * 获取所有页面的名称
     *
     * @return
     */
    List getAllPageName(@Param("platform") String platform);

    /**
     * 获取所有url的请求状态
     *
     * @return
     */
    List getUrlStateCount(@Param("pageStart") int pageStart,
                          @Param("pageEnd") int pageEnd,
                          @Param("platform") String platform);

    /**
     * 获取所有url的请求状态
     *
     * @return
     */
    List getPageStateCount(@Param("pageStart") int pageStart,
                           @Param("pageEnd") int pageEnd,
                           @Param("platform") String platform);
}
